package com.unytech.project.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.unytech.project.annotation.enumerate.CallWay;
import com.unytech.project.annotation.enumerate.InterceptLevel;
import com.unytech.project.annotation.enumerate.LogRecordLevel;

/**
 * 标记在Action的方法上
 * 1、说明该方法否需要被拦截
 * @author DolphinBoy
 *
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ActionMethodLabel {
	/**标识此方法是否被拦截*/
	public abstract InterceptLevel intercept() default InterceptLevel.PROTECTED;
	
	/**
	 * 标记被注解的方法是否启用日志记录
	 */
	public abstract LogRecordLevel logintercept() default LogRecordLevel.CUSTOM;
	
	/**
	 * 说明被注解的方法的作用
	 */
	public abstract String methodnote() default "Not Defined";
	
	/**
	 * 标记方法的调用方式（例如常规调用或者AJAX调用）
	 */
	public abstract CallWay callway() default CallWay.COMMON;
}
